<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" th:href="@{/layui/css/layui.css}" media="all">
    <!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
</head>
<body>

<form class="layui-form" action="" id="searchForm" style="margin-top: 10px">
    <div class="layui-form-item">
        <div class="layui-inline">
            <label class="layui-form-label">WeChat号</label>
            <div class="layui-input-inline">
                <input type="text" name="wechat_no" id="wechat_no" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">WeChat备注</label>
            <div class="layui-input-inline">
                <input type="text" name="wechat_mark" id="wechat_mark" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">QQ</label>
            <div class="layui-input-inline">
                <input type="text" name="qq_no" id="qq_no" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-inline">
            <button type="button" onclick="doSearch();" class="layui-btn layui-btn-sm">Search</button>
            <button type="reset" class="layui-btn layui-btn-sm">Reset</button>
        </div>
    </div>
</form>

<table class="layui-hide" id="test" lay-filter="test"></table>

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
        <button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
    </div>
</script>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>


<script th:src="@{/layui/layui.js}" charset="utf-8"></script>
<!-- 注意：如果你直接复制所有代码到本地，上述js路径需要改成你本地的 -->

<script th:inline="none"> //bug:[[]] 识别thymeleaf问题
layui.use(['table', 'layer'], function () {
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;

    //温馨提示：默认由前端自动合计当前行数据。从 layui 2.5.6 开始： 若接口直接返回了合计行数据，则优先读取接口合计行数据。
    //详见：https://www.layui.com/doc/modules/table.html#totalRow
    var tableIns = table.render({
        elem: '#test'
        , url: '/course/listJson'
        , toolbar: '#toolbarDemo'
        , title: '用户数据表'
        , totalRow: true
        , page: true
        /*, id: 'orderTable'*/
        , cols: [[
            {type: 'checkbox', fixed: 'left'}
            //, {field: 'uuid', title: 'ID', width: 100, fixed: 'left', unresize: true, sort: true, totalRowText: '合计'}
            , {field: 'name', title: '名字', fixed: 'left'}
            , {field: 'id', title: '用户名', fixed: 'left'}
            , {field: 'wechat_mark', title: '微信备注'}
            , {field: 'wechat_no', title: '微信ID'}
            , {field: 'qq_no', title: 'QQ号', sort: true}
            , {field: 'course_name', title: '购买课程', edit: 'text', sort: true}
            , {field: 'course_price', title: '价格', sort: true, totalRow: true}
            , {field: 'order_date', title: '订单日期'}
            , {fixed: 'right', title: '操作', toolbar: '#barDemo'}
        ]]
    });

    //工具栏事件
    table.on('toolbar(test)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'getCheckData':
                var data = checkStatus.data;
                layer.alert(JSON.stringify(data));
                break;
            case 'getCheckLength':
                var data = checkStatus.data;
                layer.msg('选中了：' + data.length + ' 个');
                break;
            case 'isAll':
                layer.msg(checkStatus.isAll ? '全选' : '未全选');
                break;
            case 'add':
                parent.layer.open({
                    type: 2
                    , anim: 1
                    , offset: 'auto' //具体配置参考：http://www.layui.com/doc/modules/layer.html#offset
                    , title: '添加课程订单'
                    , content: '/course/add'
                    , btn: '关闭全部'
                    , area: ['1000px', '600px']
                    , btnAlign: 'c' //按钮居中
                    , shade: 0 //不显示遮罩
                    , yes: function () {
                        parent.layer.closeAll();
                    }
                });
                break;
        }
    });

    //监听行双击事件
    table.on('rowDouble(test)', function (obj) {
        console.log(obj.data); //得到当前行数据
        //alert(obj.data.order_id);
        parent.layer.open({
            type: 2
            , offset: 'auto' //具体配置参考：http://www.layui.com/doc/modules/layer.html#offset
            , title: '课程订单详情'
            , content: '/course/detail/' + obj.data.order_id
            , btn: '关闭全部'
            , area: ['1000px', '500px']
            , btnAlign: 'c' //按钮居中
            , shade: 0 //不显示遮罩
            , yes: function () {
                parent.layer.closeAll();
            }
        });
    });

    //监听工具条---删除按钮
    table.on('tool(test)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
        var data = obj.data; //获得当前行数据
        var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
        var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）

        if (layEvent === 'del') { //删除
            layer.confirm('真的删除行么', function (index) {
                console.log(data.order_id);
                obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                layer.close(index);
                //向服务端发送删除指令
                $.ajax({
                    url: '/course/del',
                    type: 'GET',
                    data: {order_id: data.order_id},
                    success: function (rs) {
                        layer.msg(rs.msg);
                        setTimeout(function () {
                            parent.location.href = '/index';
                        }, 3000);
                    },
                    error: function (rs) {
                        layer.msg("删除失败！");
                    }
                })
            });
        } else if (layEvent === 'edit') {
            //弹出编辑页面
            parent.layer.open({
                type: 2
                , anim: 1
                , offset: 'auto' //具体配置参考：http://www.layui.com/doc/modules/layer.html#offset
                , title: '【修改】课程订单'
                , content: '/course/edit/' + data.order_id
                , btn: '关闭全部'
                , area: ['1000px', '600px']
                , btnAlign: 'c' //按钮居中
                , shade: 0 //不显示遮罩
                , yes: function () {
                    parent.layer.closeAll();
                }
            });
        }
    });

    //监听查询
    doSearch = function () {
        var searchData = {
            wechat_no: $('#wechat_no').val(),
            wechat_mark: $('#wechat_mark').val(),
            qq_no: $('#qq_no').val()
        }

        tableIns.reload({
            where: searchData,
            page: {
                curr: 1
            }
        })
    }


});
</script>
</body>
</html>